Many applications create notifications for a client user in order to notify the user of an activity that may be of interest to the user. For example, some instant messaging (IM) programs running in the background of an operating environment output a notification to the user when a contact becomes available. Some email applications notify the client when a new email is received for the user. Some update programs output a notification to the client when updates to a program on the client are downloaded and are to be installed.
One group of notifications that exist are notifications from publishers/third party sources that are transmitted to the client by the publisher. A conventional notification delivery system from publishers to clients comprises a publisher directly connected to a plurality of clients via the internet. For example, a webmail publisher that is accessed through a website by a user with an account may output a notification to the client when new webmail for the client is received. In another example, an airline retail publisher may output a notification to the client when a sale occurs on a specific flight. Additionally, many retail and social networking publishers output advertisements and updates that may be of interest to a user via email to the client. Another group of notifications are notifications generated by the client for the user, such as temperature warnings and security updates.
Typically, a dedicated application for each publisher must be operating on the user's client in order for the user to receive each of the notifications being sent by the publishers. For example, a notifier must be operating on the client to receive a notification from one webmail publisher when webmail is received. Another notifier must be operating on the client to receive airfare notifications. Another notifier must be operating to receive an advertisement from an online bookstore. In addition, a local operation notifier must be running on the client in order to receive a notification generated by the client, such as a reminder to install critical operating system updates.
One problem is that multiple components or applications running at the same time on the client vie for the client's processing and memory resources, thus affecting the client's performance. Another problem is that an operating system's Graphical User Interface (GUI) may become cluttered with multiple notifier icons outputting user notifications. Another problem is that many publishers require direct contact with the client in order to deliver a notification, reducing bandwidth available to the user.